import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

/* Layout */
import Layout from '../views/layout/Layout'

/**
 * hidden: true                   if `hidden:true` will not show in the sidebar(default is false)
 * alwaysShow: true               if set true, will always show the root menu, whatever its child routes length
 *                                if not set alwaysShow, only more than one route under the children
 *                                it will becomes nested mode, otherwise not show the root menu
 * redirect: noredirect           if `redirect:noredirect` will no redirct in the breadcrumb
 * name:'router-name'             the name is used by <keep-alive> (must set!!!)
 * meta : {
    title: 'title'               the name show in submenu and breadcrumb (recommend set)
    icon: 'svg-name'             the icon show in the sidebar,
  }
 **/
export const constantRouterMap = [
  { path: '/login', component: () => import('@/views/login/index'), hidden: true },
  { path: '/404', component: () => import('@/views/404'), hidden: true },
  {
    path:'/',
    redirect:'/dispatch'
  }
]

export const asyncRouterMap = [
  {
    path:"/dispatch",
    component:Layout,
    redirect:"/dispatch/index",
    name:"dispatch",
    meta:{title:"派单",icon:"dispatch"},
    children:[
      {
        path:"index",
        name:"upload",
        component: () =>import('@/views/dispatch/uploadInformation/index'),
        meta:{title:"上传客户", icon:"upload"}
      },
      {
        path:"dispatchList",
        name:"dispatchList",
        component: () =>import('@/views/dispatch/dispatchList/index'),
        meta:{title:"派单列表", icon:"product-list"},
        hidden:true
      },
      {
        path:"audit",
        name:"audit",
        component: () =>import('@/views/dispatch/audit/index'),
        meta:{title:"审核列表", icon:"product-list"},
        hidden:true,
      },
      {
        path:"dispatchHistory",
        name:"dispatchHistory",
        component: () =>import('@/views/dispatch/dispatchHistory/index'),
        meta:{title:"派单历史", icon:"product-list"},
        hidden:true
      }
    ]
  },

  {
    path: "/assignCustomers",
    component: Layout,
    redirect: "/assignCustomers/eId",
    name:"assignCustomers",
    meta: {
      title: "分配客户",
      icon: 'dispatch',
    },
    children: [
      {
      path: 'eId',
      name: 'eId',
      component: () => import('@/views/assignCustomers/eId'),
      meta: { title: '电邀派单', icon: 'product' }
     },
    {
      path: 'assignHistory',
      name: 'assignHistory',
      component: () => import('@/views/assignCustomers/assignHistory'),
      meta: { title: '派单历史', icon: 'product-list' }
    },
    {
      path: 'assignConfig',
      name: 'assignConfig',
      component: () => import('@/views/assignCustomers/assignConfig'),
      meta: { title: '时间配置', icon: 'product-list' }
    }
  ]
  },

  {
    path: "/staff",
    component: Layout,
    redirect: "/staff/staffList",
    name:"staff",
    meta: {
      title: "员工管理",
      icon: 'ums-admin',
    },
    children: [
      {
        path: 'staffList',
        name: 'staffList',
        component: () => import('@/views/staff/staffList/index'),
        meta: { title: '员工列表', icon: 'ums-admin' }
      },

      {
        path: 'edit/:id(\\d+)',
        name: 'edit',
        hidden: true,
        component: () => import('@/views/staff/staffList/edit'),
        meta: { title: '编辑员工', icon: 'ums-admin' }
      },

      {
        path: 'add',
        name: 'add',
        hidden: true,
        component: () => import('@/views/staff/staffList/add'),
        meta: { title: '添加员工', icon: 'ums-admin' }
      },

      {
        path: 'statistics',
        name: 'statistics',
        component: () => import('@/views/staff/staffList/statistics'),
        meta: { title: '派单统计', icon: 'ums-admin' }
      },
      
    ]
  },
  {
    path: "/user",
    component: Layout,
    redirect: "/user/index",
    name:"user",
    meta: {
      title: "客户管理",
      icon: 'user',
    },
    children: [{
      path: 'index',
      name: 'index',
      component: () => import('@/views/user/index.vue'),
      meta: { title: '客户管理', icon: 'user' }
    }]
  },
  {
    path: '/certificate',
    component: Layout,
    redirect: '/certificate/index',
    name: 'certificate',
    meta: { title: '证书', icon: 'product' },
    children: [{
      path: 'index',
      name: 'product',
      component: () => import('@/views/certificate/product/index'),
      meta: { title: '证书列表', icon: 'product-list' }
    },
    {
      path: 'blindBox',
      name: 'blindBox',
      component: () => import('@/views/certificate/blindBox/index'),
      meta: { title: '盲盒列表', icon: 'product-list' }
    },
    {
      path: 'addBlindBox',
      name: 'addBlindBox',
      component: () => import('@/views/certificate/blindBox/add.vue'),
      meta: { title: '添加盲盒', icon: 'product-add' },
      hidden: true
    },

    {
      path: 'addProduct',
      name: 'addProduct',
      component: () => import('@/views/certificate/product/add'),
      meta: { title: '添加商品', icon: 'product-add' }
    },
    {
      path: 'updateProduct',
      name: 'updateProduct',
      component: () => import('@/views/certificate/product/update'),
      meta: { title: '修改商品', icon: 'product-add' },
      hidden: true
    },
    {
      path: 'productCate',
      name: 'productCate',
      component: () => import('@/views/certificate/productCate/index'),
      meta: { title: '商品分类', icon: 'product-cate' }
    },
    {
      path: 'addProductCate',
      name: 'addProductCate',
      component: () => import('@/views/certificate/productCate/add'),
      meta: { title: '添加商品分类' },
      hidden: true
    },
    {
      path: 'updateProductCate',
      name: 'updateProductCate',
      component: () => import('@/views/certificate/productCate/update'),
      meta: { title: '修改商品分类' },
      hidden: true
    },
    {
      path: 'productAttr',
      name: 'productAttr',
      component: () => import('@/views/certificate/productAttr/index'),
      meta: { title: '商品类型', icon: 'product-attr' }
    },
    {
      path: 'productAttrList',
      name: 'productAttrList',
      component: () => import('@/views/certificate/productAttr/productAttrList'),
      meta: { title: '商品属性列表' },
      hidden: true
    },
    {
      path: 'addProductAttr',
      name: 'addProductAttr',
      component: () => import('@/views/certificate/productAttr/addProductAttr'),
      meta: { title: '添加商品属性' },
      hidden: true
    },
    {
      path: 'updateProductAttr',
      name: 'updateProductAttr',
      component: () => import('@/views/certificate/productAttr/updateProductAttr'),
      meta: { title: '修改商品属性' },
      hidden: true
    },
    {
      path: 'brand',
      name: 'brand',
      component: () => import('@/views/certificate/brand/index'),
      meta: { title: '品牌管理', icon: 'product-brand' }
    },
    {
      path: 'addBrand',
      name: 'addBrand',
      component: () => import('@/views/certificate/brand/add'),
      meta: { title: '添加品牌' },
      hidden: true
    },
    {
      path: 'updateBrand',
      name: 'updateBrand',
      component: () => import('@/views/certificate/brand/update'),
      meta: { title: '编辑品牌' },
      hidden: true
    }
    ]
  },
  {
    path: '/oms',
    component: Layout,
    redirect: '/oms/order',
    name: 'oms',
    meta: { title: '订单', icon: 'order' },
    children: [
      {
        path: 'withdrawal',
        name: 'withdrawal',
        component: () => import('@/views/oms/withdrawal/index'),
        meta: { title: '提现订单列表', icon: 'product-list' }
      },
      {
        path: 'order',
        name: 'order',
        component: () => import('@/views/oms/order/index'),
        meta: { title: '订单列表', icon: 'product-list' }
      },
      {
        path: 'orderDetail',
        name: 'orderDetail',
        component: () => import('@/views/oms/order/orderDetail'),
        meta: { title: '订单详情' },
        hidden: true
      },
      {
        path: 'deliverOrderList',
        name: 'deliverOrderList',
        component: () => import('@/views/oms/order/deliverOrderList'),
        meta: { title: '发货列表' },
        hidden: true
      },
      {
        path: 'orderSetting',
        name: 'orderSetting',
        component: () => import('@/views/oms/order/setting'),
        meta: { title: '订单设置', icon: 'order-setting' }
      },
      {
        path: 'returnApply',
        name: 'returnApply',
        component: () => import('@/views/oms/apply/index'),
        meta: { title: '退货申请处理', icon: 'order-return' }
      },
      {
        path: 'returnReason',
        name: 'returnReason',
        component: () => import('@/views/oms/apply/reason'),
        meta: { title: '退货原因设置', icon: 'order-return-reason' }
      },
      {
        path: 'returnApplyDetail',
        name: 'returnApplyDetail',
        component: () => import('@/views/oms/apply/applyDetail'),
        meta: { title: '退货原因详情' },
        hidden: true
      }
    ]
  },
  {
    path: '/sms',
    component: Layout,
    redirect: '/sms/coupon',
    name: 'sms',
    meta: { title: '营销', icon: 'sms' },
    children: [
      {
        path: 'flash',
        name: 'flash',
        component: () => import('@/views/sms/flash/index'),
        meta: { title: '秒杀活动列表', icon: 'sms-flash' }
      },
      {
        path: 'flashSession',
        name: 'flashSession',
        component: () => import('@/views/sms/flash/sessionList'),
        meta: { title: '秒杀时间段列表' },
        hidden: true
      },
      {
        path: 'selectSession',
        name: 'selectSession',
        component: () => import('@/views/sms/flash/selectSessionList'),
        meta: { title: '秒杀时间段选择' },
        hidden: true
      },
      {
        path: 'flashProductRelation',
        name: 'flashProductRelation',
        component: () => import('@/views/sms/flash/productRelationList'),
        meta: { title: '秒杀商品列表' },
        hidden: true
      },
      {
        path: 'coupon',
        name: 'coupon',
        component: () => import('@/views/sms/coupon/index'),
        meta: { title: '优惠券列表', icon: 'sms-coupon' }
      },
      {
        path: 'addCoupon',
        name: 'addCoupon',
        component: () => import('@/views/sms/coupon/add'),
        meta: { title: '添加优惠券' },
        hidden: true
      },
      {
        path: 'updateCoupon',
        name: 'updateCoupon',
        component: () => import('@/views/sms/coupon/update'),
        meta: { title: '修改优惠券' },
        hidden: true
      },
      {
        path: 'couponHistory',
        name: 'couponHistory',
        component: () => import('@/views/sms/coupon/history'),
        meta: { title: '优惠券领取详情' },
        hidden: true
      },
      {
        path: 'brand',
        name: 'homeBrand',
        component: () => import('@/views/sms/brand/index'),
        meta: { title: '品牌推荐', icon: 'product-brand' }
      },
      {
        path: 'new',
        name: 'homeNew',
        component: () => import('@/views/sms/new/index'),
        meta: { title: '新品推荐', icon: 'sms-new' }
      },
      {
        path: 'hot',
        name: 'homeHot',
        component: () => import('@/views/sms/hot/index'),
        meta: { title: '人气推荐', icon: 'sms-hot' }
      },
      {
        path: 'subject',
        name: 'homeSubject',
        component: () => import('@/views/sms/subject/index'),
        meta: { title: '专题推荐', icon: 'sms-subject' }
      },
      {
        path: 'advertise',
        name: 'homeAdvertise',
        component: () => import('@/views/sms/advertise/index'),
        meta: { title: '广告列表', icon: 'sms-ad' }
      },
      {
        path: 'addAdvertise',
        name: 'addHomeAdvertise',
        component: () => import('@/views/sms/advertise/add'),
        meta: { title: '添加广告' },
        hidden: true
      },
      {
        path: 'updateAdvertise',
        name: 'updateHomeAdvertise',
        component: () => import('@/views/sms/advertise/update'),
        meta: { title: '编辑广告' },
        hidden: true
      }
    ]
  },
  {
    path: '/ums',
    component: Layout,
    redirect: '/ums/admin',
    name: 'ums',
    meta: { title: '权限', icon: 'ums' },
    children: [
      {
        path: 'admin',
        name: 'admin',
        component: () => import('@/views/ums/admin/index'),
        meta: { title: '用户列表', icon: 'ums-admin' }
      },
      {
        path: 'role',
        name: 'role',
        component: () => import('@/views/ums/role/index'),
        meta: { title: '角色列表', icon: 'ums-role' }
      },
      {
        path: 'allocMenu',
        name: 'allocMenu',
        component: () => import('@/views/ums/role/allocMenu'),
        meta: { title: '分配菜单' },
        hidden: true
      },
      {
        path: 'allocResource',
        name: 'allocResource',
        component: () => import('@/views/ums/role/allocResource'),
        meta: { title: '分配资源' },
        hidden: true
      },
      {
        path: 'menu',
        name: 'menu',
        component: () => import('@/views/ums/menu/index'),
        meta: { title: '菜单列表', icon: 'ums-menu' }
      },
      {
        path: 'addMenu',
        name: 'addMenu',
        component: () => import('@/views/ums/menu/add'),
        meta: { title: '添加菜单' },
        hidden: true
      },
      {
        path: 'updateMenu',
        name: 'updateMenu',
        component: () => import('@/views/ums/menu/update'),
        meta: { title: '修改菜单' },
        hidden: true
      },
      {
        path: 'resource',
        name: 'resource',
        component: () => import('@/views/ums/resource/index'),
        meta: { title: '资源列表', icon: 'ums-resource' }
      },
      {
        path: 'resourceCategory',
        name: 'resourceCategory',
        component: () => import('@/views/ums/resource/categoryList'),
        meta: { title: '资源分类' },
        hidden: true
      }
    ]
  },
  { path: '*', redirect: '/404', hidden: true }
]

// asyncRouterMap.forEach(e => {
//   constantRouterMap.push(e);
// });

export default new Router({
  // mode: 'history', //后端支持可开
  scrollBehavior: () => ({ y: 0 }),
  routes: constantRouterMap
})